This project demonstrates how tiling can be used in a non-scrolling SpriteWorld just as easily as it can be in a scrolling SpriteWorld. It also makes use of SpriteWorld's ability to have tiles or parts of tiles that appear above certain sprites.
Use the mouse to move the ball around the screen. When you hit a diamond, that diamond is then moved behind the masked portion of the tiles. You can toggle whether the ball itself is in front of or behind the tiles by pressing the space bar. If you hit a diamond when the ball is behind the tiles, then the diamond will be put back in front of the tiles.
If you have a slow (68030 or lower) Mac, you'll notice that the animation gets slower when more sprites are behind tiles, and speeds up again when the sprites are back in front of the tiles. This is because of the extra drawing that must be done to draw the masked portion of the tiles over each sprite after the sprite has been drawn offscreen. However, you will normally have only one or two sprites at the most that are underneath tiles in a normal game, so this slowdown shouldn't be a problem in real life scenarios. However, it is something to keep in mind when designing your game.
This project also makes use of the SWRegionCollision routine. See the BallSpriteMoveProc at the end of the source file for an example.
This demo has been limited to go at a maximum of 30fps, since otherwise it might go too fast be to seen clearly. If you want it to run at maximum speed, change kMaxFPS to 0.